كنت أتساءل ، هل تؤدي المسافات البيضاء والتعليقات إلى إبطاء JavaScript؟ أنا أقوم بهجوم القوة الغاشمة الذي يستغرق بعض الوقت (30 ثانية). لا تظهر إزالة المسافات البيضاء نموًا ملحوظًا في السرعة ، لكنني أعتقد أن المتصفح يجب عليه فقط تحليل المزيد. إذن ، هل من المفيد إزالة المسافات والتعليقات غير الضرورية لتسريع العملية بالكامل؟
2020-12-14 08:18:26
عادةً ما يستخدم الأشخاص المصغرات لتقليل حجم النص ، لتحسين سرعة التنزيل ، بدلاً من إحداث أي فرق في سرعة تحليل النص. سيكون للمسافة البيضاء والتعليقات تأثير ضئيل في المدة التي يستغرقها المتصفح للتنفيذ ، حيث يحتاج المحلل اللغوي إلى التحقق مما إذا كانت مسافة بيضاء أو تعليقًا ، ولكن في الواقع سيكون هذا دقيقًا جدًا مع قوة الحوسبة الحالية ، سيكون من المستحيل لاحظ أي تأثير. ومع ذلك ، لا يزال SIZE مهمًا حتى مع النطاق الترددي الكبير المتاح في عالم النطاق العريض لدينا. | تعمل المسافات البيضاء والتعليقات على زيادة حجم ملف JavaScript ، مما يؤدي إلى إبطاء التنزيل الفعلي للملف من الخادم - التصغير هو عملية تجريد الأحرف غير الضرورية من ملف JavaScript لجعله أصغر وأسهل في التنزيل. ومع ذلك ، نظرًا لأنك ذكرت هجوم القوة الغاشمة ، فمن المحتمل ألا يكون التنزيل هو عنق الزجاجة. حاول استخدام أداة التعريف لمعرفة ما يبطئك. | هناك دائمًا نقطة في تصغير الأصول الخاصة بك ودمجها وتحويلها إلى ملفات gz ، لتسهيل تحميل الخادم. التصغير هو الإجراء الذي تشير إليه ، وهو إزالة المسافات والتعليقات غير الضرورية ، لتقليل سرعة التنزيل. من المرجح أن يظهر الدمج زيادة أكبر في سرعة عرض الصفحة ؛ إنها عملية دمج جميع ملفات جافا سكريبت في ملف واحد ، وجميع ملفات css الخاصة بك في ملف واحد (يمكن أيضًا القيام بذلك لمعظم الصور ، ولكن هذا يتطلب المزيد من العمل). يتم ذلك لتقليل عدد الطلبات التي يجب على المتصفح تقديمها تجاه الخادم الخاص بك ، حتى يتمكن من عرض الصفحة. GZipping هو عملية ضغط إضافي للبيانات ، بتنسيق مضغوط ، إلى المتصفحات التي تشير إلى أنها ستقبل مثل هذه البيانات. يؤدي هذا إلى تقليل الحجم بشكل أكبر ، ولكنه يضيف بعض حمل العمل الإضافي عند كلا الطرفين. من المحتمل أن ترى مكاسب صافية منه. اعتمادًا على البيئة التي تعمل فيها ، هناك مكونات مختلفة ستساعدك في ذلك ، والتي عادةً ما تغطي كل ما سبق دفعة واحدة. يؤثر الوقت الذي تستغرقه التعليمات البرمجية للتنزيل من الخادم تأثيرًا مباشرًا على المدة التي تستغرقها الصفحة للعرض. يتم حظر JavaScript ، مما يعني أن كتلة JS ستمنع أي تصيير أبعد ، حتى يتم تنفيذ الكتلة بالكامل. على هذا النحو ، حيث تضع ملفات جافا سكريبت الخاصة بك (أي في أي نقطة من عملية العرض سيتم طلبها) ، وعدد الطلبات اللازمة لتنزيلها بالكامل ، وكمية البيانات التي يجب تنزيلها ، سيكون لها تأثير عند تحميل صفحتك ، كما تظهر للمستخدم. بمجرد أن يقوم المستعرض بتحليل الكود الخاص بك ، سواء أكان جافا سكريبت أو css أو html ، سيكون قد أنشأ تمثيلات داخلية للجزء الذي يحتاج إلى تذكره باستمرار ، ولن يؤثر التنسيق الفعلي عليه. | لا أعتقد أن المسافة البيضاء في كود js تبطئ من تنفيذ ذلك. بقدر ما فهمت ، يقوم مترجم جافا سكريبت بإزالة جميع التعليقات والمسافات الزائدة قبل المعالجة. يمكن أن يؤثر على وقت التنزيل وبالتالي وقت تحميل صفحة الويب ومع ذلك. ألق نظرة هنا للحصول على القليل من المعلومات الإضافية. | ليس له تأثير يذكر على سرعة المعالجة الفعلية ، ولكن ... حجم أصغر => نطاق ترددي أقل => تكاليف أقل => ؟؟؟ => ربح! | اجابتك StackExchange.ifUsing ("Editor"، function () { StackExchange.using ("externalEditor"، function () { StackExchange.using ("snippets"، function () { StackExchange.snippets.init () ، }) ؛ }) ؛ }، "مقتطفات الشفرة")؛ StackExchange.ready (الوظيفة () { var channelOptions = { العلامات: "" .split ("")، المعرف: "1" } ؛ initTagRenderer ("". split ("")، "" .split ("")، channelOptions) ؛ StackExchange.using ("externalEditor"، function () { // يجب إطلاق المحرر بعد المقتطفات ، إذا تم تمكين المقتطفات إذا (StackExchange.settings.snippets.snippetsEnabled) { StackExchange.using ("snippets"، function () { createEditor () ، }) ؛ } آخر { createEditor () ، } }) ؛ دالة createEditor () { StackExchange.prepareEditor ({ useStacks محرر: خطأ ، النوع: "إجابة" ، autoActivateHeartbeat: خطأ ، convertImagesToLinks: صحيح ، noModals: صحيح ، showLowRepImageUpload تحذير: صحيح ، السمعة في PostImages: 10 ، منع bindNav: صحيح ، postfix: ""، imageUploader: { brandingHtml: "مدعوم من \ u003ca href = \" https: //imgur.com/ \ "\ u003e \ u003csvg class = \" svg-icon \ "width = \" 50 \ "height = \" 18 \ "viewBox = \ "0 0 50 18 \" fill = \ "none \" xmlns = \ "http: //www.w3.org/2000/svg \" \ u003e \ u003cpath d = \ "M46.1709 9.17788C46.1709 8.26454 46.2665 7.94324 47.1084 7.58816C47.4091 7.46349 47.7169 7.36433 48.0099 7.26993C48.9099 6.97997 49.672 6.73443 49.672 5.93063C49.672 5.22043 48.9832 4.61182 48.1414 4.61182C47.4335 4.61182 46.7256 4.916 4.928 46.0943.7562 4.61189 46.7256 4.916 4.928 46.0943 5.507 4.61189 46.7256 4.916 4.928 46.0943.7562 4.61189 43.1481 6.59048V11.9512C43.1481 13.2535 43.6264 13.8962 44.6595 13.8962C45.6924 13.8962 46.1709 13.2535 46.1709 11.9512V9.17788Z \ "/ \ u003e \ u003cpath d = \" M32.492 10.14194C32.47.018 14.695.92 41.5985 12.6954 41.5985 10.1419V6.59049C41.5985 5.28821 41.1394 4.6623240.1061 4.66232C39.0732 4.66232 38.5948 5.28821 38.5948 6.59049V9.60062C38.5948 10.8521 38.2696 11.5455 37.0451 11.5455C35.8209 11.5455 35.4954 10.8521 35.4954 9.60062V6.590.14C35.4174 4.662.021 32.49049 "/ \ u003e \ u003cpath fill-rule = \" evenodd \ "clip-rule = \" evenodd \ "d = \" M25.6622 17.6335C27.8049 17.6335 29.3739 16.9402 30.2537 15.6379C30.8468 14.7755 30.9615 13.5579 30.9615 11.9512V. 59049C30.9615 5.28821 30.4833 4.66231 29.4502 4.66231C28.9913 4.66231 28.4555 4.94978 28.1109 5.50789C27.499 4.86533 26.7335 4.56087 25.7005 4.56087C23.1369 4.56087 21.0134 6.573.49 21.0134 9.27932C2.0134. 1109 12.7229 28.1161 12.7799 28.121 12.8346C28.1256 12.8854 28.1301 12.9342 28.1301 12.983C28.1301 14.4373 27.2502 15.2321 25.777 15.2321C24.8349 15.2321 24.1352 14.9821 23.5661 14.77.67.53.123.1476 18 21.2429 15.0123 21.2429 15.6887C21.2429 16.7375 22.9072 17.6335 25.6622 17.6335ZM24.1317 9.27932C24.1317 7.94324 24.9928 7.09766 26.1024 7.09766C27.2119 7.09766 28.0918 7.943 28.0918 9.27932C28.0918 10.6321 113211711932932C28.0918 10.6321 113211 \ "/ \ u003e \ u003cpath d = \" M16.8045 11.9512C16.8045 13.2535 17.2637 13.8962 18.2965 13.8962C19.3298 13.8962 19.8079 13.2535 19.8079 11.9512V8.12928C19.8079 5.82936 18.4879 4.62866 16.4027 4.6866C 14.4879 4.62866 16.4027 4.6866C .653 5.05154 11.6581 4.62866 10.3573 4.62866C9.34336 4.62866 8.57809 4.89931 7.9466 5.5079C7.58314 4.9328 7.10506 4.66232 6.51203 4.66232C5.47873 4.66232 5.00066 5.28821 5.00066 6.59049V11.9512C5.000720 13.8963.8125.59049V11.9512C7.5872 13.8963 .90741C8.0232 7.58817 8.44431 6.91179 9.53458 6.91179C10.5104 6.91179 10.893 7.58817 10.893 8.94108V11.9512C10.893 13.2535 11.3711 13.8962 12.4044 13.8962C13.4375 13.8962 13.915 7 13.2535 13.9157 11.9512V8.90741C13.9157 7.58817 14.3365 6.91179 15.4269 6.91179C16.4027 6.91179 16.8045 7.58817 16.8045 8.94108V11.9512Z \ "/ \ u003e \ u003cpath d = \" M3.31675 5.249C024.31666. 791758 4.66232 0.313354 5.28821 0.313354 6.59049V11.9512C0.313354 13.2535 0.791758 13.8962 1.82471 13.8962C2.85798 13.8962 3.31675 13.2535 3.31675 11.9512V6.59049Z \ "/ \ u003e \ u003cpath d = 20.861 C0 2.87869 0.822846 3.57676 1.87209 3.57676C2.90056 3.57676 3.7234 2.87869 3.7234 1.98861C3.7234 1.1159 2.90056 0.400291 1.87209 0.400291Z \ "fill = \" # 1BB76E \ "/ \ u003e \ u003c / sv ، u003c / sv contentPolicyHtml: "مساهمات المستخدم مرخصة بموجب \ u003ca href = \" https: //stackoverflow.com/help/licensing \ "\ u003ecc by-sa \ u003c / a \ u003e \ u003ca href = \" https://stackoverflow.com / legal / content-policy \ "\ u003e (سياسة المحتوى) \ u003c / a \ u003e" ، allowUrls: صحيح } ، onDemand: صحيح ، discardSelector: ".discard-answer" ، على الفور ،howMarkdownHelp: صحيح ، enableTables: صحيح ، enableSnippets: صحيح }) ؛ } }) ؛ نشكرك على المساهمة في إجابة Stack Overflow! من فضلك تأكد من الإجابة على السؤال. قدم التفاصيل وشارك بأبحاثك! لكن تجنب ... طلب المساعدة أو التوضيح أو الرد على إجابات أخرى. الإدلاء بتصريحات تستند إلى الرأي ؛ دعمهم بالمراجع أو الخبرة الشخصية. لمعرفة المزيد ، راجع نصائحنا حول كتابة إجابات رائعة. تم حفظ المسودة تم تجاهل المسودة الاشتراك أو تسجيل الدخول StackExchange.ready (الوظيفة () { StackExchange.helpers.onClickDraftSave ('# login-link') ؛ }) ؛ سجل باستخدام جوجل قم بالتسجيل باستخدام Facebook قم بالتسجيل باستخدام البريد الإلكتروني وكلمة المرور إرسال انشر كضيف اسم البريد الإلكتروني مطلوب ، لكن لم يظهر قط StackExchange. جاهز ( وظيفة () { StackExchange.openid.initPostLogin ('. new-post-login' ، 'https٪ 3a٪ 2f٪ 2fstackoverflow.com٪ 2fquestions٪ 2f4423553٪ 2fdo-space-comments-slow-javascript-down٪ 23new-answer'، 'question_page' ) ؛ } ) ؛ انشر كضيف اسم البريد الإلكتروني مطلوب ، لكن لم يظهر قط انشر إجابتك تجاهل بالنقر فوق "نشر إجابتك" ، فإنك توافق على شروط الخدمة وسياسة الخصوصية وسياسة ملفات تعريف الارتباط ليس الجواب الذي تبحث عنه؟ تصفح الأسئلة الأخرى الموسومة بجافا سكريبت أو اطرح سؤالك الخاص.